package com.yonyou.gmmc.service.pointactivity.dao;

import java.util.List;
import java.util.Map;

import com.yonyou.gmmc.common.annotation.OracleDb;

@OracleDb
public interface ServiceStarMapper {

	/**
	 * 新增投票者信息
	 * @param param
	 */
	public void insertVoter(Map<String, Object> param);
	
	/**
	 * 每天重置投票数和分享状态
	 * @param param
	 */
	public void resetVoter(Map<String, Object> param);
	
	/**
	 * 分享之后新增投票数
	 * @param param
	 */
	public void addTicket(Map<String, Object> param);
	
	/**
	 * 投票之后票数减少
	 * @param param
	 */
	public void voteTicket(Map<String, Object> param);
	
	/**
	 * 查询剩余可投票数
	 * @param openId
	 * @return
	 */
	public int getStandByTicket(String openId);
	
	/**
	 * 新增投票记录
	 * @param param
	 */
	public void insertVoteRecord(Map<String, Object> param);
	
	/**
	 * 根据车架号查询当天投票数
	 * @return
	 */
	public int queryVoteRecordByVin(String vin);

	/**
	 * 查询投票者的省份 经销商信息
	 */
	public String getDealerCodeByOpenId(String openId);
	
	/**
	 * 通过经销商查片区
	 */
	public String getRegionCodeByProvince(String dealerCode);

	/**
	 * 查询服务顾问信息
	 * @param param
	 * @return
	 */
	public List<Map<String, Object>> getAdvisor(Map<String, Object> param);

	/**
	 * 判断是否会员
	 * @param openId
	 * @return
	 */
	public Integer ifVoter(String openId);

	/**
	 * 服务顾问总条数
	 * @return
	 */
	public Integer getCountAdvisor();

	/**
	 * 查询服务顾问
	 * @param param
	 * @return
	 */
	public List<Map<String, Object>> queryAdvisor(Map<String, Object> param);
	
	/**
	 * 查询分享状态
	 * @param openId
	 * @return
	 */
	public Integer ifShare(String openId);

	/**
	 * 根据经销商查省份
	 * @param dealerCode
	 * @return
	 */
	public String getProvinceByDealerCode(String dealerCode);

	/**
	 * 查询服务顾问排序
	 * @param param
	 * @return
	 */
	public List<Map<String, Object>> getAdvisorOrder(Map<String, Object> param);
}
